// Bean1.java：通过xml实现
package com.beantest;

public class Bean1 {
    private String name;

    // 生命周期阶段：实例化
    // 由Spring容器通过反射调用无参构造创建Bean实例
    public Bean1() {
        System.out.println("bean1 实例化");
    }

    // 生命周期阶段：属性赋值（DI）
    // Spring容器通过setter方法注入配置的property值
    public void setName(String name) {
        System.out.println("bean1 属性赋值");
        this.name = name;
    }

    // 生命周期阶段：初始化
    // 通过beans.xml中init-method指定的初始化方法
    public void init() {
        System.out.println("bean1 初始化");
    }

    // 生命周期阶段：销毁
    // 通过beans.xml中destroy-method指定的销毁方法
    public void destroy() {
        System.out.println("bean1 销毁");
    }

    @Override
    public String toString() {
        return "Bean1当前状态: name=" + name; // 更清晰的调试信息
    }
}
